package cn.jxau.service;

import java.util.List;
import com.baomidou.mybatisplus.plugins.Page;
import cn.jxau.bean.form.ModifyPwd;
import cn.jxau.bean.po.User;
import cn.jxau.bean.vo.JsonResult;

public interface UserService extends CommonService {
	/**
	 * 判断用户名为userName或者邮箱为email的用户是否已经存在，如果userName！=null,通过判断用户名
	 * 如果email！=null，通过判断邮箱。如果userName和email都为Null,返回false
	 * 已通过测试
	 * @param userName
	 * @param email
	 * @return
	 */
	public boolean userIsExist(String userName,String email);
	
	/**
	 * 显示所有的学生列表
	 * @return
	 */
	public List<User> getUserListByPage(Page<User> page);
	
	/**
	 * 修改用户状态
	 * @param user
	 * @return	是否修改成功，如果用户不存在，或者发生未知异常那么返回false
	 */
	public boolean updateUserStatus(User user);
	
	/**
	 * 根据用户id删除用户
	 * @param id
	 * @return
	 */
	public boolean deleteByUserId(Long id);
	
	/**
	 * 增加用户
	 * @param id
	 * @return
	 */
	public boolean insertUser(User user);
	
	User getUserByNameOrEmail(String login,String pwd);
	
	/**
	 * 根据用户id来查找用户信息
	 * @param id
	 * @return
	 */
	public User getUserByid(Long id);
	
	/**
	 * 根据表单bean的数据来修改密码
	 * @param pwd
	 * @return
	 */
	public JsonResult modifyPwd(ModifyPwd pwd);
}
